home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork3.lzh
/
福袋
/
注釈付ヘッダ
/
SXDEF2.H
< prev
next >
Wrap
Text File
|
1994-02-20
|
11KB
|
290 lines
/*
* sxdef2.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
*/
#ifndef __SXDEF2_H
#define __SXDEF2_H
#ifndef __CLASS_H
typedef int BOOLEAN; /* 論理型(TRUEとFALSEの2値を扱う
仮想の型) */
#endif
typedef void *Pointer; /* ポインタ型(再配置不能ブロック)*/
typedef void **Handle; /* ハンドル型(再配置可能ブロック)*/
typedef long LPoint; /* ポイント形式 */
typedef union Point Point; /* ポイントレコード */
typedef union Rect Rect; /* レクタングルレコード */
typedef struct Region Region; /* リージョンレコード */
typedef unsigned short BitImg; /* ビットイメージレコード */
typedef unsigned char LASCII[256]; /* LASCII型 */
typedef struct Bitmap Bitmap; /* ビットマップレコード */
typedef struct Graph Graph; /* グラフレコード */
typedef enum EventCode EventCode; /* イベントコード */
typedef struct Event Event; /* イベントレコード */
typedef struct Window Window; /* ウィンドウレコード */
typedef struct Subwin Subwin; /* サブウィンドウレコード */
typedef union TsEvent TsEvent; /* タスクマンイベントレコード */
/*
* 以下でTypedef宣言している構造体は、各マネージャのヘッダファイルで
* 実際のstruct宣言を行っています。利用の際は、必ずそのヘッダファイルを
* インクルードしてください。
*/
typedef struct Heap Heap; /* ヒープレコード */
typedef struct GScript GScript; /* グラフスクリプトレコード */
typedef struct Menu Menu; /* メニューレコード */
typedef struct Control Control; /* コントロールレコード */
typedef struct Dialog Dialog; /* ダイアログレコード */
typedef struct TEdit TEdit; /* テキストエディットレコード */
#ifndef NULL
#define NULL ((void *) 0) /* ヌルポインタ */
#endif
#ifndef FALSE
#define FALSE 0 /* 論理型の偽 */
#endif
#ifndef TRUE
#define TRUE 1 /* 論理型の真 */
#endif
/*
* XC ver2.1では、可変長データを扱うための配列宣言は添字を省略する
*/
#ifndef _VARLEN
#define _VARLEN
#endif
#define HIBYTE(w) ((long)(w) >> 8 & 0x000000ff) /* 上位バイトを得る */
#define LOWBYTE(w) ((long)(w) & 0x000000ff) /* 下位バイトを得る */
#define HIWORD(l) ((long)(l) >> 16 & 0x0000ffff) /* 上位ワードを得る */
#define LOWWORD(l) ((long)(l) & 0x0000ffff) /* 下位ワードを得る */
#define LONGWORD(h,l) ((long)(h) << 16 | LOWWORD(l)) /* ロングワードを得る */
/*
* メモリマン (Memory Man)
*
* ハンドル処理関数(MMChHdlNew、MMHdlDisposeなど)を利用し易くするため
* Handleを総称的なポインタ型void *に置き換えて関数プロトタイプを行う
*/
#ifndef _Handle
#define _Handle void *
#endif
/*
* キーボードマン (Keyboard Man)
*/
/* シフトキービット */
#define KS_SHIFT 1 /* [SHIFT]キー */
#define KS_CTRL (1 << 1) /* [CTRL]キー */
#define KS_OPT1 (1 << 2) /* [OPT.1]キー */
#define KS_OPT2 (1 << 3) /* [OPT.2]キー */
#define KS_KANA (1 << 8) /* [かな]キー */
#define KS_ROMEJI (1 << 9) /* [ローマ字]キー */
#define KS_CODEIN (1 << 10) /* [コード入力]キー */
#define KS_CAPS (1 << 11) /* [CAPS]キー */
#define KS_INS (1 << 12) /* [INS]キー */
#define KS_HIRA (1 << 13) /* [ひらがな]キー */
#define KS_ZEN (1 << 14) /* [全角]キー */
#define KS_XF1 (1 << 16) /* [XF1]キー */
#define KS_XF2 (1 << 17) /* [XF2]キー */
#define KS_XF3 (1 << 18) /* [XF3]キー */
#define KS_XF4 (1 << 19) /* [XF4]キー */
#define KS_XF5 (1 << 20) /* [XF5]キー */
/*
* グラフマン (Graph Man)
*
* 文字配列LASCIIを関数プロトタイプやキャストで利用し易くするため
* unsigned char *に置き換えて使う
*/
#ifndef _LASCII
#define _LASCII unsigned char *
#endif
union Point { /* ポイントレコード */
struct {
short x; /* x座標 */
short y; /* y座標 */
} p;
LPoint x_y; /* ポイント */
};
union Rect { /* レクタングルレコード */
struct {
short left; /* 左上のポイントのx座標 */
short top; /* 左上のポイントのy座標 */
short right; /* 右下のポイントのx座標 */
short bottom; /* 右下のポイントのy座標 */
} d;
struct {
LPoint l_t; /* 左上のポイント */
LPoint r_b; /* 右下のポイント */
} l;
};
struct Region { /* リージョンレコード */
long size; /* レコード全体のサイズ */
Rect bounds; /* バウンドレクタングル */
short data[_VARLEN]; /* 1ラインのデータ(可変長データ)*/
};
struct Bitmap { /* ビットマップレコード */
short type; /* スクリーンタイプ */
Rect rect; /* ビットマップレクタングル */
char *base; /* ベースアドレス */
short line; /* 横1ラインのバイト数 */
union {
struct {
long page; /* 1ページのバイト数 */
short aPage; /* アクセスページ */
} tbm;
unsigned short bRatio; /* ブレンドウェイトレシオ */
} opt;
};
struct Graph { /* グラフレコード */
Bitmap *bmap; /* ビットマップポインタ */
Rect rect; /* グラフレクタングル */
long (**procs)(); /* プロセスポインタ */
Region **visible; /* ビジブルリージョンハンドル */
Region **clipping; /* クリップリージョンハンドル */
short drawLvl; /* ドローレベル */
unsigned short penMode; /* ペンモード */
Point penLoc; /* ペン位置 */
Point penSize; /* ペンサイズ */
BitImg *penPat; /* ペンパターンへのポインタ */
BitImg *exPat; /* エクステンドパターンへのポインタ */
short workKind; /* システム内部で使用 */
Handle workHdl; /* システム内部で使用 */
unsigned short fgColor; /* フォアグラウンドカラー */
unsigned short bgColor; /* バックグラウンドカラー */
short fontKind; /* フォントカインド */
unsigned short fontFace; /* フォントフェイス */
unsigned short fontMode; /* フォントモード */
Point fontSize; /* フォントサイズ */
};
/*
* イベントマン (Event Man)
*/
enum EventCode { /* イベントコード */
E_IDLE, /* アイドルイベント */
E_MSLDOWN, /* マウスレフトダウンイベント */
E_MSLUP, /* マウスレフトアップイベント */
E_MSRDOWN, /* マウスライトダウンイベント */
E_MSRUP, /* マウスライトアップイベント */
E_KEYDOWN, /* キーダウンイベント */
E_KEYUP, /* キーアップイベント */
E_UPDATE, /* アップデートイベント */
E_RESERVE1, /* システム予約1 */
E_ACTIVATE, /* アクティベートイベント */
E_RESERVE2, /* システム予約2 */
E_RESERVE3, /* システム予約3 */
E_SYSTEM1, /* システムイベント1 */
E_SYSTEM2, /* システムイベント2 */
E_USER1, /* ユーザーイベント1 */
E_USER2 /* 15 */ /* ユーザーイベント2 */
};
/* イベントマスク */
#define EM_IDLE (1 << E_IDLE) /* アイドルイベント */
#define EM_MSLDOWN (1 << E_MSLDOWN) /* マウスレフトダウンイベント */
#define EM_MSLUP (1 << E_MSLUP) /* マウスレフトアップイベント */
#define EM_MSRDOWN (1 << E_MSRDOWN) /* マウスライトダウンイベント */
#define EM_MSRUP (1 << E_MSRUP) /* マウスライトアップイベント */
#define EM_KEYDOWN (1 << E_KEYDOWN) /* キーダウンイベント */
#define EM_KEYUP (1 << E_KEYUP) /* キーアップイベント */
#define EM_UPDATE (1 << E_UPDATE) /* アップデートイベント */
#define EM_RESERVE1 (1 << E_RESERVE1) /* システム予約1 */
#define EM_ACTIVATE (1 << E_ACTIVATE) /* アクティベートイベント */
#define EM_RESERVE2 (1 << E_RESERVE2) /* システム予約2 */
#define EM_RESERVE3 (1 << E_RESERVE3) /* システム予約3 */
#define EM_SYSTEM1 (1 << E_SYSTEM1) /* システムイベント1 */
#define EM_SYSTEM2 (1 << E_SYSTEM2) /* システムイベント2 */
#define EM_USER1 (1 << E_USER1) /* ユーザーイベント1 */
#define EM_USER2 (1 << E_USER2) /* ユーザーイベント2 */
#define EM_EVERY 0xffff /* すべてのイベント */
struct Event { /* イベントレコード */
short what; /* イベントコード */
union {
Window *win; /* ウィンドウポインタ */
struct {
short code; /* キーコード */
short ascii; /* ASCIIコード */
} key;
long data;
} whom; /* イベントメッセージ(共用体) */
unsigned long when; /* イベント発生時システム時刻 */
Point where; /* イベント発生時のポインタ座標
(グローバル座標系) */
unsigned long how; /* シフトキービット */
};
/*
* ウィンドウマン (Window Man)
*/
#define NONTITLE (_LASCII)"\0" /* タイトル無し */
struct Window { /* ウィンドウレコード */
Graph graph; /* グラフレコード */
unsigned short kind; /* ウィンドウの種類 */
char visible; /* 可視フラグ */
char hilite; /* アクティブフラグ */
char close; /* クローズボタン使用フラグ */
char status; /* ウィンドウステータス */
unsigned short option; /* ウィンドウオプション */
Region **outside; /* アウトサイドリージョンハンドル */
Region **inside; /* インサイドリージョンハンドル */
Region **update; /* アップデリートリージョンハンドル */
long (**def)(); /* ウィンドウ定義関数へのハンドル */
long defData; /* ウィンドウ定義関数のデータ */
LASCII **title; /* ウィンドウタイトルへのハンドル */
unsigned short tWidth; /* タイトルの幅 */
Control **control; /* コントロールハンドル */
Window *next; /* 次のウィンドウポインタ */
GScript **gScript; /* ウィンドウスクリプトハンドル */
long taskID; /* タスクID */
};
/*
* サブウィンドウマン(Sub Window Man)
*/
/* サブウィンドウの各種システム標準値 */
#define WS_INSIDE_X 1 /* インサイドリージョンの左上x座標 */
#define WS_INSIDE_Y 18 /* インサイドリージョンの左上y座標 */
#define WS_CLOSE_W 10 /* サブウィンドウ用クローズボタンの幅 */
struct Subwin { /* サブウィンドウレコード */
Window win; /* ウィンドウレコード */
unsigned long priority; /* プライオリティ値 */
};
/*
* コントロールマン (Control Man)
*/
/* 各コントロールの大きさ(システム標準値)*/
#define CHRBTN_H 6 /* 文字ボタンの最小幅
(+文字列の長さ) */
#define CHRBTN_V 19 /* 文字ボタンの高さ */
#define RADBTN_H 32 /* ラジオボタンの幅 */
#define RADBTN_V 9 /* ラジオボタンの高さ */
#define CHKBOX_H 13 /* チェックボックスの幅 */
#define CHKBOX_V 13 /* チェックボックスの高さ */
#define SLDVOL_H 14 /* スライドボリュームの最小幅
(+スライドバーの長さ) */
#define SLDVOL_V 16 /* スライドボリュームの高さ */
#define ADJBTN_H 48 /* 数値調整ボタンの幅 */
#define ADJBTN_V 18 /* 数値調整ボタンの高さ */
#define SCRLBR_H 18 /* スクロールバーの幅 */
/*
* タスクマン (Task Man)
*/
#define TS_NAMEMAX 90 /* タスクマンでのファイル名の最大長
(この値は変更できません) */
union TsEvent { /* タスクマンイベントレコード */
struct {
short what; /* イベントコード */
long whom; /* 引数1 */
unsigned long when; /* イベント発生システム時刻 */
long whom2; /* 引数2 */
short what2; /* タスクマンイベントコード/
メッセージコード */
short taskID; /* 送り手のタスクID */
} ts;
Event ev; /* イベントレコード */
};
#endif __SXDEF2_H